package leetcode.weekly.week295;

// 前缀和 累加和 注意用long 
// Solution1Test

//涉及mod (int) 1e9 + 7 减法要加一个mod
//mod问题哪怕是最后+1也要补一次mod

//注意数据量，尤其累加和的时候，前缀和的时候，注意用long
//注意边界，尤其是特殊取用的数组边界，不要想当然，避免不必要的wa

// 小样本状态压缩，哈希表，枚举状态
// 奇偶性 & 前缀和 的思路
public class Solution1 {

	// Solution1Test

	public int rearrangeCharacters(String s, String target) {
		char[] cs = target.toCharArray();
		int[] dics = new int[26];
		for (int i = 0; i < cs.length; i++) {
			dics[cs[i] - 'a']++;
		}
		char[] cs1 = s.toCharArray();
		int[] dics1 = new int[26];
		for (int i = 0; i < cs1.length; i++) {
			dics1[cs1[i] - 'a']++;
		}
		int ans = Integer.MAX_VALUE;
		for (int i = 0; i < dics.length; i++) {
			if (dics[i] != 0) {
				ans = Math.min(ans, dics1[i] / dics[i]);
			}
		}
		return ans;
	}

}
